#ifndef PROJECTILE_H
#define PROJECTILE_H
#include "asteroid.h"
#include "powerup.h"
#include <math.h>


#define GREEN makecol(0, 255, 0)
#define RED makecol(255, 0, 0)
#define BLUE makecol(0, 0, 255)
#define YELLOW makecol(255, 255, 0)
#define PURPLE makecol(128, 0, 255)
#define WHITE makecol(255, 255, 255)
#define ORANGE makecol(255, 127, 0)


class powerup;
class asteroid;
class ship;

class projectile{
    private:
        int type;
        int power;
        int x, y;
        int speed;
        int size;
        int distance;
        float theta;
        bool exists;

    public:

        projectile(int x, int y, int speed, float theta, int distance, int type);
        ~projectile() {x = 0; y = 0;}

        int get_x() {return this->x;}
        int get_y() {return this->y;}
        int get_distance() {return this->distance;}
        int get_speed() {return this->speed;}
        int get_size() {return this->size;}
        int get_power() {return this->power;}
        bool get_exists() {return this->exists;}
        float get_theta() {return this->theta;}
        int get_type() {return this->type;}

        void set_speed(int s) { this->speed = s; }
        void set_x(int x) { this->x = x; }
        void set_y(int y) { this->y = y; };
        void set_size(int s) { this->size = s; };
        void set_theta(float t) { this->theta = t; };
        void set_exists(bool e) { this->exists = e; };
        void set_distance(int d) { this->distance = d; };
        void set_power(int p) { this->power = p; };
        void move(asteroid* roids[], powerup* pow);
        void draw(BITMAP*, int);
};
#endif
